home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs47.d81 / c64hdpro.arc / WTBOOT.SRC < prev   
Text File  |  2009-10-10  |  2KB  |  104 lines

  1. ;BPUT"WRITEBOOT.SRC"
  2. ;RPUT"WRITEBOOT.SRC"
  3. ;
  4. .LIB HARDJUMP.EQ
  5. .LIB HARDISKZ.EQ
  6. ;
  7. * = $0840
  8. START JSR HDINIT ;INIT CTL BLOCKS
  9.  JSR RESET ;ISSUE THE RESET
  10.  LDA #$37
  11.  STA $01
  12.  BCC NOERROR
  13.  JMP RESETERROR
  14. NOERROR = *
  15.  LDA #$36
  16.  STA $01
  17.  LDA #$80
  18.  LDY #$28 ;GET NUMBER OF SECTORS TO READ
  19.  LDX #$40 ;GET SECTOR NUMBER
  20.  JSR WRITEIT ;GO CONVERT AND READ
  21.  BCC NOERROR1
  22.  JMP WRITEERROR ;GO IF BAD
  23. NOERROR1 = *
  24.  LDY #0 ;MOVE RAM FROM UNDER KERNAL
  25.  SEI
  26.  LDA #$35
  27.  STA $01
  28. MOVEROM LDA $E000,Y
  29.  STA $2000,Y
  30.  LDA $E100,Y
  31.  STA $2100,Y
  32.  LDA $E200,Y
  33.  STA $2200,Y
  34.  LDA $E300,Y
  35.  STA $2300,Y
  36.  LDA $E400,Y
  37.  STA $2400,Y
  38.  LDA $E500,Y
  39.  STA $2500,Y
  40.  LDA $E600,Y
  41.  STA $2600,Y
  42.  LDA $E700,Y
  43.  STA $2700,Y
  44.  LDA $E800,Y
  45.  STA $2800,Y
  46.  LDA $E900,Y
  47.  STA $2900,Y
  48.  LDA $EA00,Y
  49.  STA $2A00,Y
  50.  LDA $EB00,Y
  51.  STA $2B00,Y
  52.  LDA $EC00,Y
  53.  STA $2C00,Y
  54.  INY
  55.  BNE MOVEROM
  56.  LDA #$37
  57.  STA $01
  58.  CLI
  59.  LDA #$20 ;ADDRESS INPUT AREA
  60.  LDY #$10
  61.  LDX #$69
  62.  JSR WRITEIT
  63.  BCS WRITEERROR
  64.  RTS
  65. ;
  66. WRITEIT STA BUFADR+1 ;ADDRESS INPUT
  67.  STY BLKCNT ;# 512 BYTE BLOCKS
  68.  STX SECNUM+2
  69.  LDA #0
  70.  STA HDNUM ;CLEAR THE DRIVE NUMBER
  71.  STA SECNUM
  72.  STA SECNUM+1
  73.  JSR SEC2CYLDCB ;CONVERT TO DISK ADDR
  74.  LDA HEAD ;FILL THE DCB
  75.  STA HDNUM
  76.  LDA CYLLSB ;GET LOW CYL ADDR
  77.  STA CYLNUM
  78.  LDA CYLMSB ;GET HI CYL AND SECTOR
  79.  STA SECADR ;PUT IN DCB
  80.  LDA #<IGNORE
  81.  LDY #>IGNORE
  82.  STA $FFFE
  83.  STY $FFFF
  84.  STA $FFFA
  85.  STY $FFFB
  86.  JSR WRITE ;READ AND RETURN TO CALLER
  87.  RTS
  88. ;
  89. IGNORE RTI
  90. ;
  91. RESETERROR LDX #0
  92.  .BYT $2C ;
  93. WRITEERROR LDX #14
  94. WRITEERRORL LDA RESETMSG,X
  95.  BEQ DONE
  96.  JSR $FFD2
  97.  INX
  98.  BNE WRITEERRORL
  99. DONE RTS
  100.  BRK
  101. ;
  102. RESETMSG .BYT 'RESET FAILED',13,0
  103. WRITEERRMSG .BYT 'WRITE FAILED',13,0
  104. .END